iT邦幫忙

2023 iThome 鐵人賽

DAY 13
0
Software Development

從零開始!使用chatGPT製作Unity回合制卡牌遊戲系列 第 13

從零開始!使用chatGPT製作Unity回合制卡牌遊戲 Day 13 - 遊戲狀態的程式碼實作

  • 分享至 

  • xImage
  •  

為了要實作遊戲狀態,我們必須要使用上期的程式碼。
程式碼要怎麼創立呢?

請看圖!


在asset面板右鍵,進入create,點選C# Script。
https://ithelp.ithome.com.tw/upload/images/20230927/20163235gCVU0QzBvG.png

就成功創立腳本了。

但是在這邊的程式碼根本沒有和任何人有關聯啊,因為他沒有..

聯繫到遊戲物件!


在Hierarchy介面右鍵,Create Empty後改名為Logic,意思是遊戲邏輯。
https://ithelp.ithome.com.tw/upload/images/20230927/201632350wiSWtdKs2.png

然後把asset中的程式碼檔案拖曳到Logic的屬性介面,就可以讓Logic這個遊戲物件有遊戲邏輯的程式碼啦!
https://ithelp.ithome.com.tw/upload/images/20230927/20163235LLVSNBanSK.png


緊接著!

我們把上次iRobot給我們的範例程式碼輸入。

怎麼輸入呢?

很好!我就喜歡你這樣問!
對著asset中的程式碼檔案點擊兩下。
或是在屬性中,點擊程式碼欄位最右邊的三個小點,點選Edit Script就能開始編輯啦。
他預設是會開啟Visual Studio的文字編輯器。
如果不習慣可以用其他編輯器開啟,例如在檔案瀏覽器中,右鍵點擊用SublimeText開啟。https://ithelp.ithome.com.tw/upload/images/20230927/20163235NwPiMbLkoT.png

他打開了然後呢???

然後我們可以發現有內建上次出現的:

void Start()
{

}

以及

void Update()
{
    
}

我們使用上次提供的程式碼,把他填充為:

void Start()
{
    currentState = GameState.MainMenu; // Set your initial state
}

以及

void Update()
{
    switch (currentState)
    {
        case GameState.MainMenu:
            // Handle logic for the main menu state
            break;
        case GameState.Playing:
            // Handle logic for the playing state
            break;
        case GameState.GameOver:
            // Handle logic for the game over state
            break;
        // Add more cases as needed
    }
}

很明顯,IDE會很不開心,給你好多紅紅。

紅紅壞壞

所以我們要把紅紅刪掉。

刪掉紅紅!

刪掉紅紅我們就必須了解為什麼會有紅紅。
滑鼠放上去會發現,我們使用了GameState,但是他不知道這是什麼。
為何呢?

「因為你亂用chatGPT的程式碼沒有知道他給了什麼。」 - 專體組員

其實就是單純使用了變數而沒有宣告而已。GameState是個enum類型的變數名稱。
所以我們補上:

public enum GameState
{
    MainMenu,
    SelectGameMode,
    Playing,
    GameOver,
    // Add more states as needed
}

在程式碼內,變成下圖這樣(會少一些變數名稱別在意,我在小小的超前部署):
https://ithelp.ithome.com.tw/upload/images/20230927/20163235JuNA7RIWgm.png
(這邊一行case竟然忘記break..


挖咧,看看現在幾點了?
不行啊,我們得繼續加油。

加油!

明天見囉。


上一篇
從零開始!使用chatGPT製作Unity回合制卡牌遊戲 Day 12 - 遊戲內的有限狀態機與簡短範例
下一篇
從零開始!使用chatGPT製作Unity回合制卡牌遊戲 Day 14 - Unity UI使用:Text與TextMeshPro
系列文
從零開始!使用chatGPT製作Unity回合制卡牌遊戲30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言